import { Pipe, PipeTransform } from '@angular/core';
@Pipe({ name: 'statusPipe' })
export class StatusPipe implements PipeTransform {
    /**
     * 如果状态为[ONGOING进行中] 
     * 判断 participantNum 是否和 participantMax 相等
     * 如果相等 显示 [人数已满]
     * 不相等就显示 [进行中]
     * @param status 状态 WAITING等待进行,ONGOING进行中,FINISHED结束
     * @param participantMax 项目限制人数
     * @param participantNum 实际参加人数
     * 
     */
    transform(status: string, participantMax: number, participantNum: number): string {
        let returnType = '';
        let map = {
            'WAITING': '等待进行',
            'ONGOING': '进行中',
            'FINISHED': '结束',
            'ISMAX': '人数已满',
        };
        if (status == 'ONGOING') {
            returnType = participantMax > participantNum ? map['ONGOING'] : map['ISMAX']
        }else{
            returnType = map[status];
        };
        return returnType;
    }
}
/**
 * 漏洞级别
 */
@Pipe({ name: 'bugLevelPipe' })
export class BugLevelPipe implements PipeTransform {
    /**    
     * @param status 
     * 
     */
    transform(status: string): string {
        let map = {
            null:'-',
            'SERIOUS': '严重',
            'HIGH': '高危',
            'MEDIUM': '中危',
            'LOW': '低危',
        };

        return map[status];
    }
}

/**
 * 报告质量与bug状态
 */
@Pipe({ name: 'reportQualityPipe' })
export class ReportQualityPipe implements PipeTransform {
    /**    
     * @param status 
     * 
     */
    transform(status: string): string {
        let map = {
            null:'-',
            'EXCELLENT': '优秀',
            'WELL': '良好',
            'GENERAL': '一般',
            'BAD': '差',
            'CREATED':'待处理',
            'PENDING_AUDIT':'审核中',
            'CONFIRMED':'已确认',
            'REPETITIVE':'重复',
            'INVALID':'无效'
        };
        return map[status];
    }
}